package com.liveinstars.common.sort;

import org.springframework.util.StringUtils;

import java.util.Map;

/**
 * Created by guoyanjiang on 2019-01-17.
 */
public interface BasePageReq {

    Integer getPage();

    Integer getCount();

    String getOrderfield();

    String getOrdertype();

//    Map<String, FilterReq> getFilter();

    default boolean needOrderOrPaging() {
        return needOrder() || needPaging();
    }

    default boolean needOrder() {
        return !StringUtils.isEmpty(getOrderfield());
    }

    default boolean needPaging() {
        return getPage() != null && getPage() != 0 && getCount() != null && getCount() != 0;
    }

//    default boolean needFilter() {
//        return getFilter() != null && !getFilter().isEmpty() && getFilter().size() > 0;
//    }

    default Integer checkAndGetPageForWeb(){
        if (getPage() == null || getPage() == 0) {
            return 1;
        } else {
            return getPage();
        }
    }

    default Integer checkAndGetPageSizeForWeb(){
        if (getCount() == null || getCount() == 0) {
            return 30;
        } else {
            return getCount();
        }
    }
}
